-- user_id,
-- token,
-- timeout,
redis.call('SELECT', 1);

local _user_id = ARGV[1];

-- 
local _orz = 'qiangdan:u:'.. _user_id;

-- 
local _access_token = redis.call('GET', _orz);
if _access_token then
  redis.call('DEL', _access_token);
end;

_access_token = 'qiangdan:u:'.. _user_id ..':t:'.. ARGV[2];

-- 
local _timeout = ARGV[3];

-- 
redis.call('SETEX', _orz, _timeout, _access_token);

-- 
redis.call('HMSET', _access_token, 'user_id', _user_id);
-- access_token: 3600(s)
redis.call('EXPIRE', _access_token, _timeout);

return 'OK';
